Frick werd geboren in het Zwitserse Chur, maar groeide op in Liechtenstein. Hij begon met voetballen bij FC Balzers, waar hij op zijn zestiende debuteerde in het eerste elftal. In 1994 vertrok hij naar FC Sankt Gallen. In de jaren daarna speelde Frick achtereenvolgens voor FC Basel en FC Zürich. Halverwege het seizoen 2000/01 schreef hij geschiedenis door als eerste Liechtensteinse voetballer in het buitenland (uitgezonderd van Zwitserland en Oostenrijk) te gaan voetballen.
Hij vertrok toen naar AC Arezzo. In 23 wedstrijden in de Serie C maakte Frick zestien doelpunten. In 2001 verdiende hij een transfer naar Hellas Verona, dat destijds uitkwam in de Serie A. Na 24 wedstrijden en zeven doelpunten in de Serie A vertrok Frick uit Verona. Hij kwam terecht bij Ternana in de Serie B. Daar verbleef hij vier jaar en was in 133 competitiewedstrijden 44 keer trefzeker. In 2006 keerde de Liechtensteiner terug in de Serie A. Hij kwam daar nu uit voor AC Siena. In het seizoen 2006/07 speelde Frick 33 wedstrijden waarin hij zesmaal scoorde, waaronder twee keer in een uitwedstrijd bij Torino FC (1–2).
Frick trok in 2009 naar FC Sankt Gallen, dat hij in 2011 inruilde voor Grasshopper Zürich, na een conflict met toenmalig Sankt Gallen-trainer Uli Forte. Na een half jaar Grasshoppers werd zijn contract niet verlengd. Omdat Frick geen club had, trainde hij mee bij FC Balzers. Uiteindelijk werd hem daar een aanbod gedaan. Frick ging hier op in en begon zo zijn carrière af te bouwen bij Balzers. In zijn eerste seizoen bij de club degradeerde Balzers uit de derde divisie van Zwitserland; sindsdien speelde de club op het vierde niveau, de 1, Liga Gruppe 3.
Frick speelde 125 interlands in het Liechtensteins voetbalelftal, waarvoor hij zestien keer scoorde. Daarmee werd hij topscore aller tijden van het nationale elftal. Frick maakte op 26 oktober 1993 onder leiding van de Duitse bondscoach Dietrich Weise zijn interlanddebuut, in een oefeninterland thuis tegen Estland (0–2) in Balzers. Frick werd op 26 maart 2008 de vaste aanvoerder van het Liechtensteins elftal. Hij speelde op 10 augustus 2011 zijn honderdste interland, een oefenwedstrijd tegen Zwitserland (1–2 verlies).